// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: braces fieldsfirst space lnc package cn.com.smartdevices.bracelet.chart.base; import android.animation.Animator; import android.animation.ValueAnimator; import android.content.Context; import android.graphics.Canvas; import android.graphics.Rect; import android.util.AttributeSet; import android.view.View; import android.view.animation.Interpolator; import android.view.animation.LinearInterpolator; import cn.com.smartdevices.bracelet.chart.data.ChartDataLoader; // Referenced classes of package cn.com.smartdevices.bracelet.chart.base: // a, BaseChart, ChartScroller public abstract class BaseChartView extends View { private static final String a = "Chart.BaseView"; protected Animator mAnim; protected float mAnimFactor; protected BaseChart mChart; protected long mDuration; protected Interpolator mInterpolator; protected boolean mIsAttached; protected boolean mIsScrollingPerformed; protected ChartDataLoader mLoader; protected boolean mScrollable; protected ChartScroller mScroller; protected int mScrollingOffset; public BaseChartView(Context context) { this(context, null); } public BaseChartView(Context context, AttributeSet attributeset) { this(context, attributeset, 0); } public BaseChartView(Context context, AttributeSet attributeset, int i) { super(context, attributeset, i); mIsAttached = true; mAnimFactor = 1.0F; mInterpolator = new LinearInterpolator(); mDuration = 500L; } private void a(float f, boolean flag) { if (flag) { animRefresh(); if (!mAnim.isStarted()) { mAnim.start(); } return; } else { mAnimFactor = f; postInvalidateOnAnimation(); return; } } public Animator animRefresh() { if (mAnim == null) { mAnim = animRefresh(mDuration); } return mAnim; } public Animator animRefresh(long l) { ValueAnimator valueanimator = ValueAnimator.ofFloat(new float[] { 0.0F }); valueanimator.setDuration(l); valueanimator.setInterpolator(mInterpolator); valueanimator.addUpdateListener(new a(this)); return valueanimator; } public void attach() { mIsAttached = true; } public void detach() { mIsAttached = false; } public ChartDataLoader getDataLoader() { return mLoader; } public boolean isAttached() { return mIsAttached; } protected void onDraw(Canvas canvas) { mChart.draw(canvas, mAnimFactor); } protected void onSizeChanged(int i, int j, int k, int l) { Rect rect = new Rect(); rect.left = getPaddingLeft(); rect.top = getPaddingTop(); rect.right = i - getPaddingRight(); rect.bottom = j - getPaddingBottom(); mChart.setRect(rect); } public void refresh() { a(1.0F, false); } public void refresh(float f) { a(f, false); } public void refresh(boolean flag) { float f; if (flag) { f = 0.0F; } else { f = 1.0F; } a(f, flag); } public void setDataLoader(ChartDataLoader chartdataloader) { mLoader = chartdataloader; } public void setScrollable(boolean flag) { mScrollable = flag; } }